1. Field of the Invention
The present invention relates to an instruction input system and more particularly, to an instruction input system for inputting instructions to move an object existing in a three-dimensional space, which includes a changeable cursor displayed on a screen and an input device such as a mouse or joystick.
2. Description of the Prior Art
Conventionally, robots are typically designed to be moved in a three-dimensional space and therefore, they are capable of various motions such as translations along three orthogonal coordinate axes X, Y, and Z and rotations around the same coordinate axes. Any one of the possible motions is given by a combination of the six elementary motions, i.e., three translational motions along the coordinate axes X, Y, and Z and three rotational motions around the same coordinate axes. In this case, it is said that the motions of the robots have six degrees of freedom.
To apply or input a desired moving instruction to the robot, a proper specification or designation is necessary for each degree of freedom, i.e., each of the six elementary motions.
The same requirement as that in the robots is applied to three-dimensional (3-D) Computer-Aided Design (CAD) systems, which are capable of designing an object while displaying three-dimensionally the object on a screen of a display device.
When an operator or designer gives his desired instructions to move the object in the 3-D CAD system through the screen of the display device, conventionally, various instruction input subsystems have been developed and practically used.
In a first example of the conventional instruction input subsystems of this sort, six rotatable knobs are provided on a screen of a display device. These knobs are rotated with the use of an input device such as a mouse. A desired motion of an object existing in the three-dimensional space is inputted into a 3-D CAD system by rotating at least one of the six knobs by a necessary angle or angles. The motion of the object is designated by the combination of the applied rotation angles of the knobs and the rotation orientations thereof.
However, the first example of the conventional instruction input subsystems has the following problem.
Specifically, when an instruction causing a complicated motion of the object is inputted, two more of the six knobs need to be suitably rotated at a time. However, such the complicated rotational operations are difficult to be realized by the operator or designer. This is because the designer usually operates the input device (typically, a mouse) by one hand and accordingly, the desired complicated motion of the object needs to combine the necessary rotational operations of the individual knobs.
In a second example of the conventional input subsystems of this sort, which is disclosed in the Japanese Non-Examined Patent Publication No. 8-123841 published in May 1996, an input device such as a mouse or tablet, which is used to move a mouse cursor displayed on a screen of a display device, is equipped with a mode-selection button in addition to the normal operation buttons. The mode-selection button is used to select one of the normal operation mode and the moving-direction designation mode of the 3-D CAD system.
In the normal operation mode, the motion of the input device on a plane corresponds to the motion of the mouse cursor displayed on the screen. On the other hand, in the moving-direction designation mode, each of the operation buttons is used to select two of the orthogonal coordinate axes X, Y, and Z in the three-dimensional space where an object exists.
For example, when one of the operation buttons is clicked to select the X and Y axes, the motion of the input device (i.e., the mouse) on the plane corresponds to the actual motion of the mouse cursor along the selected axes X and Y (i.e., on the X-Y plane) in the three-dimensional space. Similarly, when the button designed for selecting the axes Y and Z or the axes Z and X is clicked, the motion of the input device on the plane corresponds to the actual motion of the mouse cursor along the selected axes Y and Z (i.e., on the Y-Z plane) or the selected axes Z and X (i.e., on the Z-X plane) in the three-dimensional space.
Alternately, in the moving-direction designation mode, each of the operation buttons is be used to select each of the three coordinate axes X, Y, and Z of the three-dimensional space and a XYZ direction thereof. In this case, when one of the buttons is clicked to select the X, Y, or Z axis, the motion of the input device on the plane corresponds to the actual motion of the mouse cursor along the axis X, Y, or Z in the three-dimensional space. When the button designed for selecting the XYZ direction is clicked, the motion of the input device on the plane corresponds to the actual motion of the mouse cursor along the XYZ direction (i.e., a direction not on the X-Y, Y-Z, and Z-X planes).
Since the motion along the XYZ direction is three-dimensional, this motion is unable to be determined by only the two-dimensional motions of the input device. Therefore, the motion of the input device along the XYZ direction needs to be designed so that the actual motion of the mouse cursor along the XYZ direction in the three-dimensional space is determined under a proper restriction defining the ratio between the axial motions x, y, and z along the axes X, Y, and Z, e.g., x:y:z=2:3:5.
Thus, in the second example of the conventional input subsystems disclosed in the Japanese Non-Examined Patent Publication No. 8-123841, the mouse cursor displayed on the screen of the display device has the positional data in a three-dimensional coordinate system of the three-dimensional space. Therefore, the actual position of the mouse cursor in the three-dimensional space is optionally determined by two-dimensionally moving the mouse cursor on the screen.
However, the second example of the conventional input subsystems has a problem that the operator or designer is unable to recognize directly the relationship or correspondence between the two selected motions in the three-dimensional space and the two-dimensional motions of the input device (or, of the mouse cursor displayed on the screen) movable on the plane.
Further, there have been known remote-controllable robots designed to be controlled through communication networks, an example of which is shown in FIG. 1.
This example of the conventional remote-controllable robots has a video camera (not shown) and an input subsystem. The input subsystem includes two buttons 151a and 151b displayed on a screen 152 of a display device 150 in addition to a cursor (not shown) of an input device (not shown) such as a mouse. These two buttons 151a and 151b are dedicated to translational and rotational motions of the video camera, respectively. A rectangular window 152a for displaying an image 152b picked up by the camera is formed on the screen 152.
A user or operator moves the cursor on the screen 152 using the input device until the cursor is overlapped with a desired one of the buttons 151a and 151b and then, he clicks the button 151a or 151b thus selected, thereby selecting the desired sort of motion, i.e., a translational or rotational motion of the camera. Subsequently, he moves the cursor on the screen 152 by moving the input device on a plane, thereby giving an instruction to the robot to perform a desired motion (i.e., translational or rotational motion). The instruction is transmitted through the communication network to the robot. According to the instruction thus given, the robot moves the camera and consequently, a new image is transmitted through the network and is displayed in the window 152a of the screen 152.
In the third example of the conventional input subsystems, although the configuration is simple, there is a problem that the desired motion of the video camera is indirectly designated.
Additionally, there is another problem as follows.
If the new image that has been picked up by the video camera is transmitted to the display device 150 with a comparatively long time lag due to some restriction in the communication performance, an actually-inputted value for a desired motion of the camera tends to be excessive with respect to the value necessary for the desired motion. This necessitates an extra operation for the user to correct the prior operation, thereby degrading the operation efficiency.